هذا السؤال له بالفعل إجابات هنا: كيف أعيد الرد من مكالمة غير متزامنة؟ (42 إجابة) مغلق منذ 5 أشهر. لذلك عند تشغيل الكود التالي ، تكون استجابة console.log (ba) غير محددة ولكن عندما أحاول ذلك في Chrome V8 Console ، أحصل على الإخراج الصحيح الذي أتوقعه. لست متأكدًا تمامًا مما يحدث هنا. دع با وظيفة Setqa () { (غير متزامن () => { في انتظار الجلب ("questions.json") . ثم (res => res.json ()) ثم (غير متزامن (بيانات) => { با = انتظار البيانات ؛ }) ؛ }) () ؛ } ستقا () ؛ console.log (بكالوريوس) ؛ محتويات ملف json هي كالتالي: "أسئلة": [{ "نوع السؤال": "متعدد"، "السؤال": "كيف هو الطقس" ، "إجابات": ""، "جواب السؤال": "" } ، { "نوع السؤال": "متعدد"، "سؤال": "كيف حالك اليوم؟" ، "Answers": " 1"، "questionAnswer": "textPurpose1" } ]
2021-02-27 08:12:49
أعتقد أن هذا يجب أن يعمل دع با وظيفة Setqa () { إرجاع إحضار ('questions.json') . ثم (res => res.json ()) ثم (غير متزامن (بيانات) => { با = انتظار البيانات ؛ }) ؛ } Setqa (). then (() => console.log (ba)) ؛ لكن النهج الأفضل سيكون تعيين دالة غير متزامنةQa () { const res = wait fetch ('questions.json') ؛ عودة res.json () ؛ } دع ba = انتظار setQa () ؛ | ليس الجواب الذي تبحث عنه؟ تصفح الأسئلة الأخرى الموسومة بـ javascript json fetch console.log أو اطرح سؤالك الخاص.